﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

using LowLevelGraphics;
using LowLevelGraphics.Types.Interval;

namespace LowLevelGraphics.ImageFormats
{
    /// <summary>
    /// Use this class to load PAM files
    /// The name "PAM" is an acronym derived from "Portable Arbitrary Map."
    /// A PAM file consists of a sequence of one or more PAM images. 
    /// There are no data, delimiters, or padding before, after, or between images.
    /// Each PAM image consists of a header followed immediately by a raster.
    /// 
    /// Example for a pam header:
    /// 
    /// P7
    /// WIDTH 227
    /// HEIGHT 149
    /// DEPTH 3
    /// MAXVAL 255
    /// TUPLTYPE RGB
    /// ENDHDR
    /// </summary>
    public class PAM : AbstractImageFormat, IImageFormat
    {
        /// <summary>
        /// returns Extension
        /// </summary>
        public override string Extension
        {
            get { throw new NotImplementedException(); }
        }

        /// <summary>
        /// 
        /// </summary>
        /// <param name="_sFileName"></param>
        /// <returns></returns>
        public static UnsafeBitmap Create(string _sFileName)
        {
            IntInterval maxVal = new IntInterval(0, 65535);
            UnsafeBitmap _bitmap = null;

            return _bitmap;
        }

        public override bool Save(string _sFileName)
        {
            throw new NotImplementedException();
        }
    }
}
